package com.itstack.springframework.beans;

import com.itstack.springframework.beans.factory.BeanFactory;

import java.util.Map;

/**
 * ClassName:
 * Description: TODO
 *
 * @author: Guo Shuai
 * @version: 1.0
 * @Date: 2021\11\25 0025
 */
public interface ListableBeanFactory extends BeanFactory {

    /**
     * 根据类型获取bean
     * @param type
     * @param <T>
     * @return
     */
    <T> Map<String, T> getBeansOfType(Class<T> type);

    /**
     * 获取所有bean名称
     * @return
     */
    String[] getBeanDefinitionNames();
}
